import { v4 as uuidv4 } from "uuid";
import { FILE_MAP_ICON } from "@/config/fileIcon";

/**
 * 常见的accept类型包
 */
export const ACCEPT_TYPE = {
  EXCEL: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
  //一般上传的图片
  IMAGE: "image/*",
  //音频文件
  AUDIO: "audio/AMR,audio/mpeg",
};

/**
 * 本地图片信息
 */
export class MeFileClass {
  /**
   * 文件
   */
  url: string = "";

  /**
   * 用来提示加载中的
   */
  isLoading: boolean = false;

  /**
   * 后缀名
   */
  hzname: string = "";

  /**
   * 文件类型
   */
  fileType: string = "";

  /**
   * 唯一标识符
   */
  uid: string = uuidv4();


  constructor(url: string, { isLoading = false, hzname = "" } = {}) {
    this.url = url;
    this.isLoading = isLoading;
    if (!hzname) {
      //不存在文件后缀名的时候 , 我们就从链接中取
      let stringArr = url.split(".");
      this.hzname = stringArr[stringArr.length - 1];
    } else {
      //显 向的指出文件后缀名的作用现在只有一个
      //就是展示本地图片的时候 , url 就是base64的信息 , 所以通过
      //这样来直接指定当前文件是图片
      this.hzname = hzname
    }
    if ((FILE_MAP_ICON as any)[this.hzname]) {
      this.fileType = (FILE_MAP_ICON as any)[this.hzname].type;
    } else {
      this.fileType = this.hzname;
    }
  }
}